home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-05-18 | 6.1 KB | 226 lines |
- 10 REM ****************************************************
- 20 REM "VOLCANO" A MEDIUM-RESOLUTION COLOR GRAPHICS PROGRAM
- 30 REM FOR THE IBM PC - JERI GIRARD 20 AUGUST 1983
- 40 REM *****************************************************
- 50 CLS ' CLEAR SCREEN
- 60 SCREEN 1, 0 'SELECT MEDIUM RESOLUTION AND ENABLE COLOR
- 70 KEY OFF ' REM DISABLE KEY DISPLAY
- 80 COLOR 1,0 ' BLUE BACKGROUND, SET 0
- 90 LINE (0,160)-(319,160) ' BASE LINE
- 100 LOCATE 24,5 ' SET CURSOR
- 110 PRINT "A VOLCANO IS A TYPE OF MOUNTAIN."
- 120 PRINT
- 130 PRINT "BUT IT IS DIFFERENT IN AN IMPORTANT WAY."
- 140 REM NEXT INS. FOR VOLCANO CONE
- 150 GOSUB 1860 ' BUILD SCHEMATIC CONE
- 155 GOSUB 2190
- 160 LOCATE 19,5 ' SET CURSOR
- 170 PRINT "DEEP INSIDE THE EARTH, UNDERNEATH THE "
- 190 PRINT"VOLCANO, THERE IS A POOL OF HOT LAVA. "
- 200 GOSUB 2190 ' PAUSE
- 210 LOCATE 20,1 ' SET CURSOR
- 220 PRINT " SOMETIMES A VOLCANO STARTS TO RUMBLE"
- 230 PRINT
- 240 PRINT "AND SMOKE COMES OUT OF THE TOP. "
- 250 LINE (152,128)-(155,79),2,BF ' LAVA
- 260 REM START BUILDING SMOKE CLOUD
- 270 CIRCLE (155,73),3
- 280 PAINT (155,73),3,3
- 290 GOSUB 2140' ANIMATE
- 300 CIRCLE (155,65),5
- 310 PAINT (155,65),3,3
- 320 GOSUB 2140 ' ANIMATE
- 330 CIRCLE (155,53),10,,,,5/18
- 340 PAINT (155,53),3,3
- 350 GOSUB 2140 ' ANIMATE
- 360 CIRCLE (155,48),15,,,,5/18
- 370 PAINT (155,48),3,3
- 380 GOSUB 2140 ' ANIMATE
- 390 CIRCLE (155,39),25,,,,5/18
- 400 PAINT (155,39),3,3
- 410 GOSUB 2140 ' ANIMATE
- 420 CIRCLE (155,28) ,35,,,,5/25
- 430 PAINT (155,28) ,3,3
- 440 GOSUB 2140 ' ANIMATE
- 450 CIRCLE (155,16),50,,,,5/45
- 460 PAINT (155,16) ,3,3
- 470 GOSUB 2140 ' ANIMATE
- 480 CIRCLE (155,10),100,,,,3/60
- 490 PAINT (155,10),3,3
- 500 LOCATE 20,1 ' REM SET CURSOR
- 510 PRINT " THIS USUALLY MEANS THAT THE HOT LAVA"
- 520 PRINT
- 530 PRINT "IS TRYING TO GET TO THE SURFACE."
- 540 GOSUB 2190 ' PAUSE
- 550 LOCATE 20,1 ' SET CURSOR
- 560 PRINT "LAVA USUALLY COMES OUT OF THE TOP OF "
- 570 PRINT
- 580 PRINT "THE VOLCANO WHEN THERE IS AN ERUPTION."
- 590 CIRCLE (155,76),B,,,,5/20
- 600 PAINT (155,76),2,3
- 610 GOSUB 2140 ' ANIMATE
- 620 LINE (155,76)-(138,78),2,BF
- 630 GOSUB 2190 ' PAUSE
- 640 LOCATE 20,1 ' SET CURSOR
- 650 PRINT "MOST OF THE TIME THE LAVA RUNS DOWN "
- 660 PRINT
- 670 PRINT "THE SIDE OF THE VOLCANO CONE. "
- 680 DRAW "M139,76 G50 M138,76 G50"
- 690 GOSUB 2140 ' ANIMATE
- 700 CIRCLE (79,125),15,2,,,5/40
- 710 PAINT (80,126),2,2
- 720 GOSUB 2190 ' PAUSE
- 730 CLS ' CLEAR SCREEN
- 740 LINE (0,153)-(319,153),3 ' BASELINE
- 750 LOCATE 24,1 ' SET CURSOR
- 760 PRINT "BUT IF THE OPENING IN THE VOLCANO IS "
- 770 PRINT
- 780 PRINT "BLOCKED, OR PLUGGED WITH OLD LAVA..."
- 790 GOSUB 1860 ' BUILD CONE
- 800 LINE (132,129)-(179,129),0 ' ERASE
- 810 PAINT (160,129),2,3
- 820 LINE (152,122)-(155,90),2,BF ' LAVA
- 830 GOSUB 2190 ' PAUSE
- 840 LOCATE 21,1 ' SET CURSOR
- 850 PRINT " THEN THE LAVA BUILDS UP SO MUCH "
- 860 PRINT
- 870 PRINT " PRESSURE THAT THE MOUNTAIN EXPLODES!"
- 880 DRAW "BM153,90 H12 R27 G12 C2"
- 890 DRAW "BU2 P0,2"
- 900 LINE (142,78)-(169,78),0 ' ERASE
- 910 GOSUB 1960 ' SET OFF FIREWORKS
- 920 GOSUB 2190 ' PAUSE
- 930 CLS ' CLEAR THE SCREEN
- 940 LINE (0,140) - (319,140) , 1
- 950 LOCATE 20,1 ' SET CURSOR
- 960 PRINT "IN 1980 , MT. ST. HELENS IN WASHINGTON"
- 970 PRINT
- 980 PRINT "WAS A BEAUTIFUL PART OF THE WILDERNESS."
- 990 DRAW "BM0,135 R80 E50 R30 F50 R120 BM140,90 P1,1"
- 1000 REM DRAWING TREE TRUNKS
- 1010 LINE (20,135)-(22,120),3,BF
- 1020 LINE (25,134)-(26,120),3,BF
- 1030 LINE (40,134)-(42,120),3,BF
- 1040 LINE (200,135)-(203,120),3,BF
- 1050 LINE (210,136)-(211,119),3,BF
- 1060 LINE (230,134)-(234,119),3,BF
- 1070 LINE (300,135)-(301,120),3,BF
- 1080 REM DRAW TREE FOLIAGE
- 1090 CIRCLE (21,117),19,1,,,5/25
- 1100 PAINT (21,117),1,1
- 1110 CIRCLE (27,115),15,1,,,5/18
- 1120 PAINT (27,115),1,1
- 1130 CIRCLE (43,114),18,1,,,5/12
- 1140 PAINT (43,114),1,1
- 1150 CIRCLE (201,116),12,1,,,5/19
- 1160 PAINT (201,116),1,1
- 1170 CIRCLE (228,117),20,1,,,5/20
- 1180 PAINT (228,117),1,1
- 1190 CIRCLE (301,116),12,1,,,5/18
- 1200 PAINT (301,116),1,1
- 1205 GOSUB 2190
- 1210 LOCATE 20,1 ' SET CURSOR
- 1220 PRINT "EVERYONE THOUGHT IT WAS EXTINCT, BUT "
- 1230 PRINT
- 1240 PRINT "IN MAY IT STARTED TO RUMBLE AND SMOKE."
- 1250 PLAY "mb T90 D0 L64 DDFFEE-FFE-DDEACDACDADCABCDCC#C#DDEFFFEEC"
- 1260 GOSUB 2010 ' MIDDLE OF FIREWORKS
- 1270 REM DRAW SMOKE CLOUD
- 1280 CIRCLE (150,80),5,3,,,5/10
- 1290 PAINT (150,80),3,3
- 1300 GOSUB 2140 ' ANIMATE
- 1310 CIRCLE (145,75),3,3,,,1/2
- 1320 PAINT (145,75),3,3
- 1330 GOSUB 2140 ' ANIMATE
- 1340 CIRCLE (155,69),17,3,,,5/18
- 1350 PAINT (155,69),3,3
- 1360 GOSUB 2140 ' ANIMATE
- 1370 CIRCLE (160,60),30,3,,,5/30
- 1380 PAINT (160,60),3,3
- 1390 LOCATE 20,1 ' SET CURSOR
- 1400 PRINT "SUDDENLY, ONE MAY MORNING, THERE WAS"
- 1410 PRINT
- 1420 PRINT "A TERRIBLE BLAST THAT ROCKED THE COUNTY!"
- 1430 GOSUB 2190 ' ANIMATE
- 1440 FOR I=1 TO 15
- 1450 COLOR I,0
- 1480 NEXT I
- 1490 CLS ' CLEAR SCREEN
- 1500 COLOR 9,1 ' SET BACKGROUND & PALETTE OK
- 1510 LINE (0,153)-(319,153),3 ' BASELINE
- 1520 DRAW "BM0,140 C3 R80 E30 R10 F10 R15 E10 R5 F25 R140" 'CONE
- 1521 TILE$ = CHR$(&H55)+CHR$(&H55)+CHR$(HFF)
- 1525 PAINT (135,150),TILE$,3
- 1530 LINE (123,112)-(152,112),3
- 1540 PAINT (128,114),2,3
- 1550 REM DRAW SMOKE CLOUD
- 1560 CIRCLE (125,98),10,3,,,5/15
- 1570 PAINT (125,98),3,3
- 1580 CIRCLE (122,88),25,3,,,5/18
- 1590 PAINT (122,88),3,3
- 1600 GOSUB 2140 ' ANIMATE
- 1610 CIRCLE (115,70),40,3,,,5/20
- 1620 PAINT (115,70),3,3
- 1630 CIRCLE (129,60),30,3,,,5/15
- 1640 PAINT (129,60),3,3
- 1650 LOCATE 21,1 ' SET CURSOR
- 1660 PRINT "WHEN THE SMOKE CLEARED THE VOLCANO WAS"
- 1670 PRINT
- 1680 PRINT "BARE OF TREES, AND COVERED WITH ASHES."
- 1690 GOSUB 2190 ' PAUSE
- 1700 LOCATE 21,1
- 1710 PRINT "FIFTY PEOPLE WERE KILLED IN THE BLAST,"
- 1720 PRINT
- 1730 PRINT "PLUS HUNDREDS OF WILD ANIMALS. "
- 1740 GOSUB 2190 ' PAUSE
- 1750 CLS
- 1760 LOCATE 13,5
- 1770 PRINT "MORAL -- THERE IS NO SUCH THING"
- 1780 PRINT
- 1785 LOCATE 15,5
- 1790 PRINT "AS AN EXTINCT VOLCANO."
- 1800 PRINT
- 1810 GOTO 2230 ' END PROGRAM
- 1820 REM *******************************************************************
- 1830 REM ******* SUBROUTINES ***********************************************
- 1840 REM **********************************************************
- 1850 REM
- 1860 REM ****BUILD SCHEMATIC CONE
- 1870 DRAW "BM90,128 E50 R30 F50"
- 1880 REM AXIS ARE HORIZONTAL, VERTICAL
- 1890 LINE (132,128)-(180,128),0
- 1900 CIRCLE (155,128),25,,,,5/18
- 1910 PAINT (155,129),2,3 ' RED LAVA
- 1920 PAINT (155,127),2,3 ' RED LAVA
- 1930 PAINT (155,110),1,3 ' CYAN MTN
- 1940 RETURN
- 1950 REM
- 1960 REM **** SET OFF FIREWORKS ****
- 1970 DRAW "BM155,85 C1 H15 R30 G15 BU5 P3,1" ' CYAN TRIANGLE
- 1980 PAINT (156,80),2,1
- 1990 PAINT (156,80),0,1
- 2000 DRAW "BM155,85 C0 H15 R30 G15"
- 2010 FOR I = 1 TO 20 STEP 5
- 2020 CIRCLE (155,60),I,2
- 2030 FOR J = 1 TO 30 STEP 10
- 2040 CIRCLE (155,60),J,3
- 2050 PLAY "MB T90 D0 L64 FDDFE"
- 2060 CIRCLE (155,60),J,0
- 2070 NEXT J
- 2080 CIRCLE (155,60),I,0
- 2090 NEXT I
- 2100 PLAY "MB T90 D0 L64 FE-E-C#E-DD"
- 2110 PLAY "MB T100 D0 L64 D-EDFE-e-fded-"
- 2120 RETURN
- 2130 REM
- 2140 REM **** ANIMATION LOOP
- 2150 FOR Z = 1 TO 100
- 2160 NEXT Z
- 2170 RETURN
- 2180 REM
- 2190 REM **** PAUSE LOOP
- 2200 FOR Z = 1 TO 3000
- 2210 NEXT Z
- 2220 RETURN
- 2230 END
-